home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / libs / dignet_2_1.lha / dignet / dignetterm / source / Digital.macs next >
Text File  |  1996-12-15  |  3KB  |  210 lines

  1. *    MACROS for sources by Kenneth C. Nilsen / Digital Surface
  2.  
  3. OpenLib    MACRO            OpenLib    Library,Version
  4.     lea    \1N(pc),a1
  5.     moveq    #\2,d0
  6.     jsr    -552(a6)
  7.     move.l    d0,\1B
  8.     ENDM
  9.  
  10. CloseLib    MACRO        CloseLib Library
  11.     move.l    \1B(pc),d0
  12.     beq.b    *+8
  13.     move.l    d0,a1
  14.     jsr    -414(a6)
  15.     ENDM
  16.  
  17. CloseWin    Macro        CloseWin <WinBase>
  18.     move.l    \1(pc),d0
  19.     beq.b    *+8
  20.     move.l    d0,a0
  21.     jsr    _LVOCloseWindow(a6)
  22.     EndM
  23.  
  24. CloseScr    Macro        CloseScr <ScrBase>
  25.     move.l    \1(pc),d0
  26.     beq.b    *+8
  27.     move.l    d0,a0
  28.     jsr    _LVOCloseScreen(a6)
  29.     EndM
  30.  
  31. Base    MACRO            Base LibN
  32.     move.l    \1B(pc),a6
  33.     ENDM
  34.  
  35. ExecB    MACRO            move Execbase to a6
  36.     move.l    $4.w,a6
  37.     ENDM
  38.  
  39. Pen    MACRO
  40.     moveq    #\1,d0
  41.     jsr    -78(a6)
  42.     ENDM
  43.  
  44. StackOn    MACRO
  45.     movem.l    d2-d7/a2-a6,-(sp)
  46.     ENDM
  47.  
  48. StackOff MACRO
  49.     movem.l    (sp)+,d2-d7/a2-a6
  50.     ENDM
  51.  
  52. SetPen    MACRO            SetPen Color
  53.     move.l    a5,a1
  54.     moveq    #\1,d0
  55.     jsr    -342(a6)
  56.     ENDM
  57.  
  58. Box    MACRO            Box X1,Y1,X2,Y2
  59.     move.l    a5,a1
  60.     move.l    \1,d0
  61.     move.l    \2,d1
  62.     move.l    \3,d2
  63.     move.l    \4,d3
  64.     jsr    -306(a6)
  65.     ENDM
  66.  
  67. LineC    MACRO            LineC X1,Y1,X2,Y2,Color
  68.     move.l    a5,a1
  69.     moveq    #\5,d0
  70.     jsr    -342(a6)
  71.     move.l    a5,a1
  72.     move.l    \1,d0
  73.     move.l    \2,d1
  74.     jsr    -240(a6)
  75.     move.l    a5,a1
  76.     move.l    \3,d0
  77.     move.l    \4,d1
  78.     jsr    -246(a6)
  79.     ENDM
  80.  
  81. Line    MACRO            Line X1,Y1,X2,Y2
  82.     move.l    a5,a1
  83.     move.l    \1,d0
  84.     move.l    \2,d1
  85.     jsr    -240(a6)
  86.     move.l    a5,a1
  87.     move.l    \3,d0
  88.     move.l    \4,d1
  89.     jsr    -246(a6)
  90.     ENDM
  91.  
  92. LineW    MACRO            LineW X1,Y1,X2,Y2
  93.     move.l    a5,a1
  94.     move.w    \1,d0
  95.     move.w    \2,d1
  96.     jsr    -240(a6)
  97.     move.l    a5,a1
  98.     move.w    \3,d0
  99.     move.w    \4,d1
  100.     jsr    -246(a6)
  101.     ENDM
  102.  
  103. DCall    MACRO
  104.     jsr    _LVODF\1(a6)
  105.     ENDM
  106.  
  107. Call    MACRO
  108.     jsr    _LVO\1(a6)
  109.     ENDM
  110.  
  111. PrtCmd    MACRO
  112.     move.l    #PRTCMD_\1,d0
  113. ;    jsr    LVODF_PrintComand(a6)
  114.     ENDM
  115.  
  116. ;These macros will make BarFly sources compatible wih other assemblers:
  117.  
  118. MB    MACRO
  119.     move.b    \1,\2
  120.     ENDM
  121.  
  122. MW    MACRO
  123.     move.w    \1,\2
  124.     ENDM
  125.  
  126. ML    MACRO
  127.     move.l    \1,\2
  128.     ENDM
  129.  
  130. MQ    MACRO
  131.     moveq    \1,\2
  132.     ENDM
  133.  
  134. WaitID    MACRO    ;WaitID Gadgetlist
  135.     move.l    Rast(pc),a0
  136.     move.l    Port(pc),a1
  137.     lea    \1(pc),a2
  138.     DCall    WaitGad
  139.     lea    \1(pc),a1
  140.     DCall    getID
  141.     ENDM
  142.  
  143. TestID    MACRO    ;TestID    [n],[label]
  144.     cmp.b    #\1,d0
  145.     beq    \2
  146.     ENDM
  147.  
  148. Render    MACRO    ;Render [gadgets]
  149.     move.l    Rast(pc),a0
  150.     lea    \1(pc),a1
  151.     DCall    RenderGadgets
  152.     ENDM
  153.  
  154. Gadget    MACRO    ;Gadget x,y,w,h,id,title,colors,flags,font
  155.     dc.w    \1,\2,\3,\4,\5
  156.     dc.l    \6,0,0,0,\7,\8,\9,0
  157.     ENDM
  158.  
  159. Hold    MACRO
  160. .hold    btst    #6,$bfe001
  161.     bne.b    .hold
  162.     ENDM
  163.  
  164. DUMPSTRING    MACRO    ;DUMPSTRING "String",LabelID  NB: labID must be UNIC!
  165.  
  166.     IFD    DODUMP    ;in source: DODUMP SET 1 to enable debug dump
  167.  
  168.     movem.l    d0-d7/a0-a6,-(sp)
  169.  
  170.     move.l    $4.w,a6
  171.     moveq    #0,d0
  172.     lea    .debLibName\2(pc),a1
  173.     jsr    -552(a6)        ;open dos.library version 0
  174.     tst.l    d0
  175.     beq.b    .debEnd\2
  176.  
  177.     move.l    d0,a6
  178.     jsr    -60(a6)            ;default output handler
  179.     move.l    d0,d1
  180.     beq.b    .close\2
  181.  
  182.     move.l    #.string\2,d2
  183.     move.l    #.stringSize\2,d3
  184.     jsr    -48(a6)            ;write string to handler
  185.  
  186. .close\2    lea    (a6),a1
  187.     move.l    $4.w,a6
  188.     jsr    -414(a6)        ;close dos.library again
  189.  
  190.     bra.b    .debEnd\2
  191.  
  192. .debLibName\2    dc.b    "dos.library",0
  193. .string\2        dc.b    "DEBUG DUMP: ",27,"[1m",\1,27,"[0m",10
  194. .stringSize\2    = *-.string\2
  195.     even
  196.  
  197. .debEnd\2    movem.l    (sp)+,d0-d7/a0-a6
  198.  
  199.     ENDC
  200.  
  201.     ENDM
  202.  
  203. Blink    MACRO
  204.     move.w    #$fff,$dff180
  205.     move.w    #$fff,$dff180
  206.     move.w    #$fff,$dff180
  207.     move.w    #$fff,$dff180
  208.     move.w    #$fff,$dff180
  209.     ENDM
  210.